「PECLS Operating System」

◇ はじめに

 現在作成中のITRONベースのリアルタイム・マルチタスクOSです。
かつて限定公開していたマルチタスク・ライブラリで得たノウハウを元にHuman68kか
らの独立を目指して開発を進めています。

 今回のLEVEL-5のパッケージは、テストFDのバイナリ・イメージです。

 このソフトウェアは、まだまだ開発中の物です。使用は各自の責任で行って下さい。
いかなる障害、損害、災害、動悸、息切れ、眩暈が起きても私 M.Suzuki は一切の責
任を負わない事とします。


◇ インストールの仕方

 アーカイブには、本ドキュメントと実行用FDのイメージ、FLOAT2.Xへの差分、
FD書き込みツールが納められています。
 基本的には、ブランクディスクをフォーマットして、そこにFDイメージを展開する
だけです。まだ、ローダーがFDにしか対応してないのでFDベースでしか動作しません。

 ここでは、ワークディスクを「A:¥PECLS¥」、インストール先FDを「F:」として説
明します。

  A:¥>mkdir PECLS           <-- ワークディレクトリィを作成(名前はなんでも良い)
  A:¥>cd PECLS              <-- ワークディレクトリィに移動
  A:¥PECLS>lha x ..¥PECLS5.LZH    <-- アーカイブを解凍する。
  A:¥PECLS>format f:              <-- ブランクディスクをフォーマット
  A:¥PECLS>wfd image5.xdf         <-- FDイメージを書き込む
  A:¥PECLS>copy float2.drv f:¥sys¥driver  <-- ドライバーをコピーする。

 一応、簡単なインストール用のバッチファイルを用意しておきました。
 その場合は、以下のようになります。

  A:¥>mkdir PECLS           <-- ワークディレクトリィを作成(名前はなんでも良い)
  A:¥>cd PECLS              <-- ワークディレクトリィに移動
  A:¥PECLS>lha x ..¥PECLS5.LZH    <-- アーカイブを解凍する。
 A:¥PECLS>install f:             <-- インストールバッチを起動

 あとは、FDをドライブ0に放り込んでリセットするだけです。


◇ 使い方

 まだ、外部コマンドを起動することが出来ません。そのため、psh(pecls shell)の
内部コマンドで遊んでみて下さい。使い方は、「help」と入力することで表示されま
す。また、コマンドの入力ではTABで簡単な補間機能が行えますし、不完全なコマン
ド名ならそれっぽい(笑)コマンドとして処理します。
 また、LEVEL-2からマルチコンソールが装備されています。OPT.1 + アルファベッ
トで、起動しているコンソールに切り替えることが出来ます。
 LEVEL-5からHuman68kのFDを扱うhumanfs.srvが動作するようになりました。まだ不
完全なものですが、ファイルの一覧が出来るようになっています。ちなみに、パスの
区切りは「/」ですのでご注意を。

 その他の情報については、付属のドキュメントを参照して下さい。何か判るかも知
れません。

◇ 技術的なこと

 このOSは、X68000(MC68000)マシンでもNetBSDの様なマルチタスク環境を得るため
に開発しています。そのため、NetBSDに有るようなMMUを使ったメモリー保護や仮想
記憶は持ちません。(ただし、エリアセットは使用する予定)

 また、現在、満開製作所で計画されている零式OSとも直接は関係有りません。
ただし、システムコールなどの形式は違えど、同じ穴のムジナ・・・もとい、同じマ
イクロ・カーネル構成を取り、各種のサーバーを起動することでOSの機能を構成する
と言う面では全く同じです。
 零式OSでのネームサーバーや実行サーバー、ファイルサーバー、コンソールサーバー、
各種デバイスドライバ等のアイデアは、このpecls OS作成構想からの流用です。

 零式OSは、68060、ColdFire、MMU、FPGA等を駆使した相対的に言えば、極めて複雑
なシステムです。
この様なシステムをいきなり動かすのは並大抵の事ではないはずです。
 先ほども述べたようにpecls OSは、詳細は違えど基本概念は同じ物です。また、零
式OSよりも使い慣れた&安定したハードで、単純なシステムであることを利用して、
零式OSの為の試験環境とする事も出来ると考えています。

 その他にも、これまで余り馴染みの無かったリアルタイム・マルチタスクOSやマル
チスレッド(P-thread)への手軽なとっかかりになれば、今後出てくる零式への移行も
スムーズに行くことでしょう。

・・・と、大風呂敷を広げておこうかな(笑)

 そうそう、内部の動きに興味の有る人は、RS232Cにリバースケーブルを接続して見
ると面白いかも(笑)設定は通信速度9600bps、データ長8ビット、パリティ無し、ス
トップビット1、フロー制御XON/XOFFにして、「CAPS」や「全角」のLEDを付けた状態
でソフトリセットすれば大量のデバッグ情報が見られます。


◇ 配布など

 見ての通り、今のところ配布してもあんまり意味の有る物ではありません。んが、
バイナリパッケージを配布禁止にしたところで、たいした意味は無いことに今更になっ
て気が付いたので配布可能とします。
 ただし、ソースに付いては、有る程度仕様がまとまった時点まで公開しません。
将来的には、ソース及び開発環境を公開することを約束しますので、気長にお待ち下
さい。

あと、お決まりの台詞ですが、
・本ソフトの使用は各自の責任の上で行って下さい。何等かの不都合、不具合が有っ
 た場合でも私、M.Suzukiは一切の責任を負わない物とします。
・再配布は自由に行って構いませんが、アーカイブ内容を変更しないで下さい。ただ
 し、文章の漢字コードを変更するのは構いません。また、アーカイバや圧縮形式を
 変更するのも構いません。

P.S.
本体側は色々整備が進まないと公開出来ませんが、以下の部分は独立性が高いので協
力者は名乗り出て欲しいです。(私の中では優先度の低い物なので)
・もっと良いインストーラ
・HDD用IPL
・ロゴデザイン(笑)
・キャッチフレーズ(ぉぃ

◇ 感謝
 以下のツールを作成・移植・公開して下さった多くの方々に感謝します。

  H.Yoshizaki(吉崎 栄泰)  LHA Version 2.13  ( MS-DOS 版)
  岡田 紀雄         LHA Version 2.13  (Human68k版)
  K.Higashide        X68k Binary file updater v1.2 rel.2
  K.Higashide        X68k Binary file differencer v1.2 rel.1
  FSF,Inc          GNU Make version 3.62(X6_15)
  FSF,Inc          Gnu Awk (gawk) 2.15 (X6_09),
                  patchlevel 6 + multi-byte extension 1.04
  Eric Gisin        PD KSH v4.9(X6_27) Nov 21 1994
  Mariko & FSF,Inc     gcc version 1.29 Tool#2(X680x0)
  Y.Nakamura/M.Kamada    X68k High-speed Assembler v3.08+82
  SALT           X68k SILK Hi-Speed Linker v3.01+11
  E.Watanabe        XT30DRV.X version 3.02      
               loadhigh.r version 3.02
  FSF,Inc          RCS 5.6.7.4 (beta)
  homy           RCS 5.6.7.4 for Human68k
  M.Suzuki         Ng 1.3.1 X68k Text/12Dot 1.9.9 version.
                [Nihongo Mg 2a] (formerly Micro Gnu Emacs)
  (敬称は略させて頂きました)


◇ 最後に

 見ての通り、このシステムはまだ開発が始まったばかりです。現在完成しているの
は、全体の数割程度だと思われます。今後も、ある程度の区切り毎にテスト・イメージ
を公開していきたいと思いますので、応援して下さい。

 なお、基本的なサーバー周りの仕様が安定した時点で、アプリケーション作成に必
要なヘッダやライブラリを公開していきたいと考えていますので、「自分も参加した
い!!」と言う奇特な方は、それまでに技を磨いて待っていて下さい。

 また、このOSは仕様も動作もまだまだ安定していません。重大なバグが残っている
可能性がありますので、重要なデータが入ったマシンで起動する時はHDDの電源を切っ
ておくなどの自衛処置をしておいた方が多い日も安心です。


1999/5/21   LEVEL-0 限定公開(BINのみ)
1999/7/2    LEVEL-1 限定公開(BINのみ)
1999/8/5    LEVEL-2 一般公開(BINのみ)
1999/8/28   LEVEL-3 一般公開(BINのみ)
1999/11/21  LEVEL-4 一般公開(BINのみ)
2000/6/30   LEVEL-5 一般公開